Developer(s) | Akira Nishida, Hisashi Kotakemori, Akihiro Fujii, Hidehiko Hasegawa |
---|---|
Initial release | 2005 |
Stable release | 1.2.62 / December 24, 2011 |
Development status | Active |
Written in | C |
Operating system | Cross-platform |
Available in | C, Fortran |
Type | Software library |
License | Modified BSD License |
Website | http://www.ssisc.org/lis/ |
Lis (Library of Iterative Solvers for linear systems) is a scalable parallel library for solving systems of linear equations and standard eigenvalue problems with real sparse matrices using iterative solvers.
Contents |
Lis provides facilities for:
A C program to solve a system of linear equations Ax=b is written as follows:
#include <stdio.h> #include "lis_config.h" #include "lis.h" int main(int argc, char* argv[]) { LIS_MATRIX A; LIS_VECTOR b,x; LIS_SOLVER solver; int iter; double times; lis_initialize(&argc, &argv); lis_matrix_create(LIS_COMM_WORLD,&A); lis_vector_create(LIS_COMM_WORLD,&b); lis_vector_create(LIS_COMM_WORLD,&x); lis_solver_create(&solver); lis_solver_set_optionC(solver); lis_input(A,b,x,argv[1]); lis_vector_set_all(1.0,b); lis_vector_duplicate(A,&x); lis_solve(A,b,x,solver); lis_solver_get_iters(solver,&iter); lis_solver_get_time(solver,×); printf("iter= %d time = %e\n",iter,times); lis_solver_destroy(solver); lis_matrix_destroy(A); lis_vector_destroy(b); lis_vector_destroy(x); lis_finalize(); return 0; }
Installation of Lis requires a C compiler. To use the Fortran interface, a FORTRAN 77 compiler is required. To use the algebraic multigrid preconditioner, a Fortran 90 compiler is required. OpenMP and MPI-1 are used in parallel computing environments. Both the Harwell-Boeing and Matrix Market formats are supported for the import and export of user data.
|